正常情况下,我们的 Build 任务不会很快完成,执行一两个小时是很正常的情况,所以我们需要一个通知机制,告诉我们 build 结果,而不是过一会登录到 Jenkins 看一下结果,过一会登录到 Jenkins 查看一下结果。
而邮件通知,是一个使用非常普遍的通信机制,今天我们就来看一下 Jenkins 中的邮件通知。
登录到 Jenkins,导航到 Manage Jenkins > System。
在 System Admin e-mail address 下面添加发送邮件的邮箱作为管理员的邮箱地址
在 Extended E-mail Notification,填写:
E-mail Notification
当你看到 Email was successfully sent,表示测试已经完成,你可以在你接收测试邮件上看到一封测试邮件。然后点击 Save 保存配置。
到这里,我们邮件的通知相关的配置已经完成了,现在,我们来看一看,怎么在 Pipeline 中使用邮件通知吧。
新建一个 Pipeline,在 pipeline 脚本窗口输入下面内容(该示例中,我们使用的是前面配置的默认主题和邮件正文):
pipeline {
    agent any
    stages {
        stage('test') {
            steps {
                sh 'echo Hello World'
            }
        }
    }
    post { 
        always {
            emailext (
                to: '<email address>', 
                subject: '$DEFAULT_SUBJECT',
                body: '$DEFAULT_CONTENT',
                mimeType: 'text/html'
            );
        }
    }
}
build 完成后,查看控制台输出。